The present invention relates to an interactive user interface method of transporting a display object within a single or from one to another, n-dimensional workspace of a processor-controlled system, wherein the display object remains coupled to a first viewpoint while being transported.
Processor-based systems such as personal computers and workstation systems that are used to assist a single user or multiple users in retrieving, storing, manipulating and understanding large amounts of information require innovative user interfaces that result in lowering the transaction costs of finding and accessing information. Display based, graphical user interfaces (GUIs) have been used to provide the perception to the system user of having a workspace in which to manipulate information. One type of graphical user interface (GUI) employs a two-dimensional (2D) desktop metaphor where information is presented in a single large 2D display region bounded by the physical size of the display area of the display device that serves as the metaphorical desktop and that may include other 2D display regions, called windows, the opening, closing, and manipulation of which are controlled by the system user. The system user interacts with--that is, performs operations on--displayed 2D graphical objects, such as icons, menus, and dialog boxes, using a pointing device. The graphical desktop may be considered to be the system user's workspace, and is constrained by the physical size of the particular display area, or screen, being used. All of the information associated with a particular window may not be able to be displayed in the window at one time, and is typically accessible via a scrolling mechanism.
A common interaction technique provided by the single workspace, 2D desktop GUI is that of moving or copying display objects to another position in the workspace, or from one window to another. Common techniques for selecting, moving and copying (collectively referred to herein as "transporting") data, information or objects in a conventional 2D GUI are well-known. One technique uses a "drag-and-drop" metaphor in which the system user selects a display object such as an icon using the pointing device by depressing a button on the device. The system attaches the icon to the cursor under the control of the pointing device as long as the user continues to depress the button; the user then uses the pointing device to drag the cursor across the display, simulating motion of the selected object to a new position perceptible in the display area, positioning the object in its destination position by releasing the button on the pointing device. This technique is provided, and works effectively, when the entire 2D workspace, including the display object being transported and the destination position, are always perceptible and there is, therefore, only one fixed viewpoint from which the 2D workspace is viewed by the system user. This technique is typically not provided for transporting objects within a window in the workspace to a destination position that is not perceptible at the time that the display object is selected for transporting.
Another common technique used for selecting and transporting data, information or objects in a conventional 2D GUI is called "cut-and-paste" and employs a memory location, typically called a "clipboard", to store the data being transported while the system user finds the destination position in the 2D workspace. This technique is provided, and works effectively, when the destination position in the 2D workspace is not perceptible to the system user. For example, in a window that contains display objects representing the text of a document, only the portion of the document that fits in the window region is perceptible at any one time. There is typically provided a scrolling mechanism for bringing a new portion of the document into view in place of the currently displayed portion. In this environment, in order to move a text display object from one portion of the document to another, the user typically selects the text display object with the pointing device, executes a "cut" command, and the data representing the selected text display object is stored on the clipboard (i.e., in the clipboard memory location) and the display object may be removed from the window and may no longer be perceptible to the user. The user then scrolls to bring a new portion of the document into view that includes the intended destination of the data in the document, selects the destination position, and executes a "paste" command. Alternatively, the user could designate a destination position in a second window. The data representing the selected text display object is then retrieved from the memory location and presented in the destination position. During the move operation, the display object being transported is not perceptible to the user because it is removed from the window at the time it is cut, and during a copy operation, the display object being transported is not perceptible to the user if the scrolling process removes the display object from view. Some systems provide a separate, user-activated function for viewing the contents of the clipboard in a separate window.
A variation of the cut-and-paste technique highlights the selected display object to be transported, and places the cursor in a special operation "mode" that allows the user to perform no other operations on display objects until the current operation has been completed. The user is permitted operations with the cursor that change the view of the information displayed, such as scrolling in a window, in order to find the destination position. The display object being operated on is not perceptible to the user if the scrolling process removes it from view, and it moves in the window as the document is being scrolled so as to remain in a position relative to its neighboring display objects.
Some GUIs attempt to provide the user with the perception that his or her immediate workspace is larger than is actually displayed in the display area. For example, the 2D desktop metaphor of the single workspace has been extended to multiple 2D desktop workspaces in a GUI called "Rooms" that permits a user to switch among workspaces, allowing more information to reside in the immediate work area. Rooms.RTM. is a registered trademark of Xerox Corporation. Henderson, D. A. and Card, S. K., "Rooms: The use of multiple virtual workspaces to reduce space contention in a window-based graphical user interface", ACM Transactions on Graphics, July, 1986, pp. 211-243, (hereafter, "the Henderson article", which is hereby incorporated by reference herein, disclose the features of the Rooms interface and provide descriptions of other GUIs designed to overcome the constraints imposed by screen size. Rooms.RTM. permits the sharing of information objects in different workspaces, provides the ability to store and retrieve workspaces, and provides an overview of available workspaces and other navigational aids to assist the system user in locating objects and working in the various workspaces. Each 2D workspace Room, except in the Overview, occupies most, if not all, of the available display area and has a single, fixed viewpoint. As described at pp. 228-229, of the Henderson article three mechanisms are provided for transporting tools from one workspace to another. The first mechanism uses an Overview, shown in FIG. 10 of the Henderson article, that displays miniaturized versions of all of the Rooms in the total user workspace. From the Overview, a "placement", which is a window together with location and presentation information in a particular Room, can be copied or moved from one Room to another Room, or within a single Room, via a COPY or MOVE command. A second mechanism utilizes a "baggage" metaphor that permits the user to carry,--that is, copy--tools (typically windows) with him or her as the user transits to another workspace. By executing a command while selecting a Door for exiting a first workspace, the user can specify, as "Baggage," the windows to be copied to a second workspace. The "Baggage" is then conceptually taken through the Door with the user, and the windows assume their former positions, but in the new Room, at which point the user can then reposition the windows in the new Room as desired. A third mechanism, called "Pockets," permits the user to move tools between Rooms by declaring one Room to act as Pockets. This Room will be temporarily included in any Room the user enters, and windows and tools that are placed in the user's Pockets will be presented (at the same location and with the same presentation attributes) in all Rooms. These techniques for transferring tools between Rooms is also described in U.S. Pat. No. 5,233,687 to Henderson, Jr. et al., entitled "User Interface with Multiple Workspaces for Sharing Display System Objects," at cols. 5-6, and at cols. 16-19.
Another GUI developed to explore large information spaces is known as ARK ("Alternate Reality Kit") supporting the navigable shared workspace disclosed in U.S. Pat. No. 5,107,443. ARK is also described in Smith, R., "The Alternate Reality Kit: An Animated Environment for Creating Interactive Simulations," 1986 IEEE Computer Society Workshop on Visual Languages, Jun. 25-27, 1986, Dallas, Tex., pp. 99-106. ARK supports a class of system object known as a "teleporter" which a user can use to make a transition from one location in navigable workspace to a location somewhere else in the navigable workspace using paired teleporters. The user does so using the conventional drag-and-drop technique to drop an object onto the teleporter in the origin location. In response, the system positions the object in the part of the shared workspace near the paired teleporter in the destination location, and at the same time makes a transition so that the view shows the part of the shared workspace that includes the paired teleporter and the object in its new location. A teleported object thus disappears from the first view during transporting and reappears in the second view. The ARK user interface may be considered to display a 21/2D workspace, since the user-controlled cursor, in the shape of a hand, appears as though it floats in a plane above the other display objects.
Another large, navigable 21/2D workspace is disclosed in Periin, K. and Fox, D., "Pad: An Alternative Approach to the Computer Interface," Computer Graphics Proceedings of SIGGRAPH '93, Anaheim, Calif., Aug. 1-6, 1993, pp. 57-64. Pad is an infinite 2D information plane that is shared among users and populated by Pad Objects with which a user can interact. Pad Objects are organized geographically; every object occupies a well defined region on the Pad surface. Pad objects make themselves visible through two mechanisms: a graphic and a portal, which is a view into the single, infinite shared desktop, analogous to a magnification glass that can peer into and roam over different parts of the Pad surface, and thus portals are used for navigation in the workspace using a navigation technique called semantic zooming. Techniques for moving or copying a Pad Object in the Pad space do not appear to be disclosed.
Robertson, Card and Mackinlay in "Interactive Visualization Using 3D Interactive Animation", Communications ACM, 36, 4, April 1993, pp. 57-71 (hereafter, "the Robertson article") disclose a 3D navigable workspace containing graphical objects representing visualizations of information, known as the Information Visualizer. The Robertson article discloses that the Information Visualizer evolved the multiple desktop user interface of Rooms.RTM. into a 3D workspace for information access in which 3D Interactive Objects replace the windows of the 2D Rooms environment. System users can have arbitrary positions and orientations in each Room, and techniques are provided for rapid, controlled and targeted 3D movement by the user in the workspace, such as the technique disclosed in U.S. Pat. No. 5,276,785 to Mackinlay et al., entitled "Moving Viewpoint with Respect to a Target in a Three Dimensional Workspace." As with Rooms.RTM., an Overview is provided, allowing a user to view all the 3D workspaces simultaneously, go to any Room directly, and reach into any Room to move about and manipulate its objects. However, objects may not be moved from room to room using the Overview. Mackinlay, J., Card., S., and Robertson, G, "Rapid Controlled Movement Through a Virtual 3D Workspace," Proceedings of SIGGRAPH '90, August, 1990, pp. 171-176 (hereafter, the Mackinlay article), discloses the concept and basic operation of point-of-interest object movement within a single workspace of the Information Visualizer. The movement technique, based on 2D mouse input, integrates point-of-interest viewpoint movement, uses the mouse cursor to control a ray that determines the lateral position of the object, and uses keyboard keys to control the position of the object on the ray. The Mackinlay article further discloses that objects moved in this way are constrained to remain in the 3D room by clipping the object's new coordinates to the room coordinates.
The drag-and-drop and cut-and-paste techniques described above for transporting display objects within a single, desktop 2D workspace have several disadvantages when implemented in single or multiple workspace, 21/2D or 3D visualization environments with multiple viewpoints: the drag-and-drop technique couples the display object to the cursor and is typically restricted to transporting a selected display object only when the viewpoint into the workspace is fixed and the destination position is perceptible, requiring its use in a context where the entire workspace is displayable on the display device, such as in the Overview of the Rooms.RTM. GUI; the conventional cut-and-paste technique does not attach a selected display object to the cursor, but removes it from the user's view while it is being operated on, and multiple objects transported at the same time do not remain in the same relationship relative to each other. Movement via teleporters in the ARK system appear to require additional steps to position the teleporters in the workspace. The point-of-interest object movement technique disclosed in the Mackinlay article is not suitable for moving objects between workspaces.